package com.jmyd.txlcn.domain.vo;

import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.jmyd.txlcn.annatations.Date2LongSerializer;
import com.jmyd.txlcn.domain.po.SysOrder;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.math.BigDecimal;
import java.util.Date;

/**
 * @author samphin
 * @date 2024/6/20 10:48
 */
@Data
public class SysOrderVo {
    /**
     * 主键ID
     */
    private String id;

    /**
     * 用户ID
     */
    private Long userId;

    /**
     * 订单名称
     */
    private String name;

    /**
     * 费用
     */
    private BigDecimal fee;

    /**
     * 优惠券状态(0:未使用 1:已使用 2:已过期)
     */
    private Integer status;

    /**
     * 订单号
     */
    private String code;

    /**
     * 描述
     */
    private String desc;

    /**
     * 是否删除 true=删除;false=未删除
     */
    private Boolean deleted;

    /**
     * 创建时间
     */
    @JsonSerialize(using = Date2LongSerializer.class)
    private Date createTs;

    /**
     * 修改时间
     */
    @JsonSerialize(using = Date2LongSerializer.class)
    private Date updateTs;

    public SysOrderVo buildVo(SysOrder sysCoupon) {
        BeanUtils.copyProperties(sysCoupon, this);
        this.setId(sysCoupon.getId());
        return this;
    }
}